{
  "name" : "A collection of simple generator jobs (no includes, few macros, plain old configs)",

  // macros from the top-level let will be automatically available in each job in this config
  "let" :
  {
    "QOOXDOO_PATH" : "../../qooxdoo"
  },

  "jobs" :
  {
    /*
     * You can define jobs that are not runnable on their own, but just collect
     * settings that you want to re-use in other jobs.
     */
    "includer-job" :
    {
       // List some libs to work with
       // - you will have to adapt paths for this to make sense
       // - paths are relative to this config file's directory

      "library" :
      [
        {
          "manifest" : "./Manifest.json"  // the current application
        },
        {
          "manifest" : "${QOOXDOO_PATH}/framework/Manifest.json"
        },

        {
          // this could be some path on your system leading to another qooxdoo app/library
          "manifest" : "${QOOXDOO_PATH}/component/apiviewer/Manifest.json"
        },

        {
          "manifest" : "${QOOXDOO_PATH}/application/feedreader/Manifest.json"
        }
      ],

      "cache" :
      {
        "compile" : "cache"
      }
    },


    "simple-source-job" :
    {
      "desc" : "a simple job to produce the source version of the app",

      "extend" : [ "includer-job" ],

      "include" :   // minimal list of classes to include in the build
      [
        "custom.Application",  // main application class
        "qx.theme.Modern"      // used theme
      ],

      "environment" : 
      { 
        "qx.application" : "custom.Application"
      },

      "compile-options" :
      {
        "paths" :
        {
          "file"     : "source-version.js",
          "app-root" : "."
        },
        "code" :
        {
          "except" : ["*"]
        }
      },

      "compile" : { "type" : "source" }
    },

    "simple-build-job" :
    {
      "desc" : "a simple job to produce the build version of the app",

      "extend" : [ "includer-job" ],

      "let"    : { "APPLICATION" : "custom" },  // need to provide application name for build version

      "include" : [ "custom.Application", "qx.theme.Modern" ],

      "environment" : 
      { 
        "qx.application" : "custom.Application"
      },


      "compile-options" :
      {
        "paths" :
        {
          "file"     : "build-version.js",
          "app-root" : "."
        },
        "code" :
	    {
	      "except" : []
	    }
      },

      "compile" : { "type" : "build" }
    },

    // Compile some special-purpose libraries

    "custom-library-bom" :
    {
      "extend" : ["includer-job"],

      "include" : ["qx.bom.Element"],

      "environment" :
      {
        "qx.debug" : false,
        "qx.aspects" : false,
        "engine.name" : ["gecko","mshtml"]
      },

      "compile-options" :
      {
        "paths" : 
        {
          "file" : "compile-bom-{engine.name}.js",
          "app-root" : "."
        },
        "code" :
        {
          "optimize" : [ "variables", "basecalls", "privates" ],
   	      "except" : []
        }
      },

      "compile" : { "type" : "build" }
    },

    "custom-library-ajax" :
    {
      "extend" : ["includer-job"],

      "include" : ["qx.io2.*"],

      "environment" :
      {
        "qx.debug" : false,
        "qx.aspects" : false,
        "engine.name" : ["gecko","mshtml"]
      },

      "compile-options" :
      {
        "paths" :
        {
          "file" : "compile-ajax-{engine.name}.js",
          "root" : "."
        },
        "code" :
        {
          "optimize" : [ "variables", "basecalls", "privates", "strings" ],
  	      "except" : []
        }
      },

      "compile" : { "type" : "build" }
    },


    // Feedreader Jobs

    "api-feedreader" :
    {
      "desc"    : "Create an Apiviewer for the Feedreader app",
      "extend"  : ["includer-job"],
      "include" : ["feedreader.Application"],

      "api" :
      {
        "path" : "feedreader_api"
      }
    },

    "feedreader-parts" :
    {
      "desc"   : "Part definitions usable in source or build compile jobs",

      "packages" :
      {
        "parts" :
        {
          "core"         : { "include" : ["feedreader.Application", "qx.theme.Modern"] },
          "languagepref" : { "include" : ["feedreader.view.PreferenceWindow"]},
          "addfeed"      : { "include" : ["feedreader.view.AddFeedWindow"]}
        },
        "init" : "core"
      }
    },

    "source-feedreader" :
    {
      "desc"    : "Create a feedreader source version using parts",
      "extend"  : ["includer-job", "feedreader-parts"],
      "include" : ["feedreader.*", "qx.theme.Modern"],

      "environment" :
      {
        "qx.application" : "feedreader.Application"
      },

      "compile-options" :
      {
        "paths" :
        {
          "file" : "feedreader_source/feedreader-source.js",
          "app-root" : "."
        },
        "code" :
        {
          "locales" : ["en", "de", "es", "it"],
   	      "except"  : ["*"]
        }
      },

      "compile" : { "type" : "source" }
    }
  }
}
